N Data Redistribution Through Parallel Remote Method
نویسندگان
چکیده
Components can be a useful tool in software development, including the development of scientific computing applications. Many scientific applications require parallel execution, but commodity component models based on remote method invocation do not directly support the notion of parallel components. Parallel components raise questions about the semantics of method invocations and the mechanics of parallel data redistribution involving these components. Allowing parallel components to exist within a component framework comes at very little extra cost to the framework designer. However, the interaction semantics (i.e. method invocations) between two parallel components or between a parallel and non-parallel component can be complex and should require support from the underlying run-time system. The parallel data redistribution problem comes about when in order to increase efficiency, data are subdivided among cooperating parallel tasks within one component. When two or more components of this type are required to perform a separate computation on the same data, this data distribution must be decoded and mapped from the first component to the second component’s specification. We demonstrate a method to handle parallel method invocation and perform automatic data redistribution using the code generation process of an interface definition language compiler. The generated code and run-time system accomplish the necessary data transfers and provide consistent behavior to method invocation. We describe the implementation of and semantics of parallel remote method invocation. We describe how collective method calls can be used to provide coherent interactions between multiple components. Several results and benchmarks are discussed.
منابع مشابه
Parallel Remote Method Invocation and M-by-N Data Redistribution
Components can be a useful tool in software development, including the development of scientific computing applications. Many scientific applications require parallel execution, but commodity component models based on Remote Method Invocation (RMI) do not directly support the notion of parallel components. Parallel components raise questions about the semantics of method invocations and the mec...
متن کاملData redistribution and remote method invocation for coupled components
With the increasing availability of high-performance massively parallel computer systems, the prevalence of sophisticated scientific simulation has grown rapidly. The complexity of the scientific models being simulated has also evolved, leading to a variety of coupled multi-physics simulation codes. Such cooperating parallel programs require fundamentally new interaction capabilities, to effici...
متن کاملThesis Proposal: Data Redistribution and Remote Method Invocation in Parallel Component Architectures
The availability of massively parallel computer systems has made possible the evolution of scientific simulations from serial, monolithic programs to high-performance, parallel applications. Most scientific programs realize this parallelism by assigning one parcel of the simulated physical space to each computational resource. This domainbased decomposition maps naturally to the Single-Program-...
متن کاملA Generalized Processor Mapping Technique for Array Redistribution
ÐIn many scientific applications, array redistribution is usually required to enhance data locality and reduce remote memory access in many parallel programs on distributed memory multicomputers. Since the redistribution is performed at runtime, there is a performance trade-off between the efficiency of the new data decomposition for a subsequent phase of an algorithm and the cost of redistribu...
متن کاملSkeleton Composition Using Remote Data
Skeletons simplify parallel programming by providing general patterns of parallel computations. When several skeletons are used inside the same program, skeleton composition usually leads to aggregation and redistribution of the intermediate data on a single process. Though the programmer can overcome the performance loss at a lower level of abstraction by altering the existing skeletons or not...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005